function IsPopOrder(pushV, popV)
{
    // write code here
    // 首先定义栈 和弹出序列的下标 初始化为0
    var stack = [] // 定义栈
    var popIndex = 0 // 弹出序列的下标 初始化为0 
    for(let i of pushV){ // 不断循环压入序列中的数字
      stack.push(i) // 将数字压入栈中
      while(stack.length !== 0 && stack[stack.length-1] === popV[popIndex]){ // 假如栈有长度 不是空的 同时 栈顶的元素和弹出栈的元素相等 就需要把这个数字弹出
        stack.pop() // 把这个树从栈中弹出
        popIndex++ // 弹出序列的下标后移
      }
    }
    // 遍历结束之后 返回 栈是否为空
    return stack.length === 0 // 如果栈是空的 说明这个弹出序列是可行的 
    // 如果栈没空 的话 就是说 所有的压缩的数字都已经入栈了  但是没有找到这样的路径弹出 那就是不可行的 所以返回 false
}
module.exports = {
    IsPopOrder : IsPopOrder
};